gdk: remove get_composite_drawable vfunc
authorBenjamin Otte <otte@redhat.com>
Wed, 21 Jul 2010 19:13:23 +0000 (21:13 +0200)
committerBenjamin Otte <otte@redhat.com>
Tue, 10 Aug 2010 19:02:29 +0000 (21:02 +0200)
The vfunc is not used anymore.

gdk/gdkdraw.c
gdk/gdkdrawable.h
gdk/gdkoffscreenwindow.c
gdk/gdkwindow.c

index 1b5872248e9061809e352e16a02398e7be743aa2..3c8152ea62e333c48502e0bc018a11109f68ec02 100644 (file)
 #include "gdkpixbuf.h"
 
 
-static GdkDrawable* gdk_drawable_real_get_composite_drawable (GdkDrawable  *drawable,
-                                                             gint          x,
-                                                             gint          y,
-                                                             gint          width,
-                                                             gint          height,
-                                                             gint         *composite_x_offset,
-                                                             gint         *composite_y_offset);
 static cairo_region_t *  gdk_drawable_real_get_visible_region     (GdkDrawable  *drawable);
      
 
@@ -51,7 +44,6 @@ G_DEFINE_ABSTRACT_TYPE (GdkDrawable, gdk_drawable, G_TYPE_OBJECT)
 static void
 gdk_drawable_class_init (GdkDrawableClass *klass)
 {
-  klass->get_composite_drawable = gdk_drawable_real_get_composite_drawable;
   /* Default implementation for clip and visible region is the same */
   klass->get_clip_region = gdk_drawable_real_get_visible_region;
   klass->get_visible_region = gdk_drawable_real_get_visible_region;
@@ -201,23 +193,6 @@ gdk_drawable_get_colormap (GdkDrawable *drawable)
   return GDK_DRAWABLE_GET_CLASS (drawable)->get_colormap (drawable);
 }
 
-static GdkDrawable *
-gdk_drawable_real_get_composite_drawable (GdkDrawable *drawable,
-                                          gint         x,
-                                          gint         y,
-                                          gint         width,
-                                          gint         height,
-                                          gint        *composite_x_offset,
-                                          gint        *composite_y_offset)
-{
-  g_return_val_if_fail (GDK_IS_DRAWABLE (drawable), NULL);
-
-  *composite_x_offset = 0;
-  *composite_y_offset = 0;
-  
-  return g_object_ref (drawable);
-}
-
 /**
  * gdk_drawable_get_clip_region:
  * @drawable: a #GdkDrawable
index 82593854c854825dd8a51cbe600ae05cc6065801..266eaf8039ac79155ca56e926504a0b7e9dc2eb7 100644 (file)
@@ -76,14 +76,6 @@ struct _GdkDrawableClass
   cairo_region_t*   (*get_clip_region)    (GdkDrawable  *drawable);
   cairo_region_t*   (*get_visible_region) (GdkDrawable  *drawable);
 
-  GdkDrawable* (*get_composite_drawable) (GdkDrawable *drawable,
-                                          gint         x,
-                                          gint         y,
-                                          gint         width,
-                                          gint         height,
-                                          gint        *composite_x_offset,
-                                          gint        *composite_y_offset);
-
   cairo_surface_t *(*ref_cairo_surface) (GdkDrawable *drawable);
 
   GdkDrawable *(*get_source_drawable) (GdkDrawable *drawable);
index 0e91a0ea58ec9cf738c3f2518b06b7fa74a976c3..b6148e55b0455a50ffd4e227f7d61a733c55196b 100644 (file)
@@ -204,20 +204,6 @@ gdk_offscreen_window_get_source_drawable (GdkDrawable  *drawable)
   return _gdk_drawable_get_source_drawable (offscreen->pixmap);
 }
 
-static GdkDrawable *
-gdk_offscreen_window_get_composite_drawable (GdkDrawable *drawable,
-                                            gint         x,
-                                            gint         y,
-                                            gint         width,
-                                            gint         height,
-                                            gint        *composite_x_offset,
-                                            gint        *composite_y_offset)
-{
-  GdkOffscreenWindow *offscreen = GDK_OFFSCREEN_WINDOW (drawable);
-
-  return g_object_ref (offscreen->pixmap);
-}
-
 static GdkScreen*
 gdk_offscreen_window_get_screen (GdkDrawable *drawable)
 {
@@ -921,7 +907,6 @@ gdk_offscreen_window_class_init (GdkOffscreenWindowClass *klass)
   drawable_class->get_screen = gdk_offscreen_window_get_screen;
   drawable_class->get_visual = gdk_offscreen_window_get_visual;
   drawable_class->get_source_drawable = gdk_offscreen_window_get_source_drawable;
-  drawable_class->get_composite_drawable = gdk_offscreen_window_get_composite_drawable;
 }
 
 static void
index 17f7560836f0d698b9f10a8b8ede5f057f817a80..75c86d4be6d4e833c5e9a41aab424e19c42c9c31 100644 (file)
@@ -418,7 +418,6 @@ gdk_window_class_init (GdkWindowObjectClass *klass)
   drawable_class->set_cairo_clip = gdk_window_set_cairo_clip;
   drawable_class->get_clip_region = gdk_window_get_clip_region;
   drawable_class->get_visible_region = gdk_window_get_visible_region;
-  drawable_class->get_composite_drawable = gdk_window_get_composite_drawable;
   drawable_class->get_source_drawable = gdk_window_get_source_drawable;
 
   quark_pointer_window = g_quark_from_static_string ("gtk-pointer-window");
@@ -3850,141 +3849,6 @@ gdk_window_get_source_drawable (GdkDrawable *drawable)
   return drawable;
 }
 
-static GdkDrawable *
-gdk_window_get_composite_drawable (GdkDrawable *drawable,
-                                  gint         x,
-                                  gint         y,
-                                  gint         width,
-                                  gint         height,
-                                  gint        *composite_x_offset,
-                                  gint        *composite_y_offset)
-{
-  GdkWindowObject *private = (GdkWindowObject *)drawable;
-  GSList *list;
-  GdkPixmap *tmp_pixmap;
-  GdkRectangle rect;
-  gboolean overlap_buffer;
-  GdkDrawable *source;
-  GdkWindowObject *impl_window;
-  GdkWindowPaint *implicit_paint;
-  cairo_t *cr;
-
-  *composite_x_offset = -private->abs_x;
-  *composite_y_offset = -private->abs_y;
-
-  if ((GDK_IS_WINDOW (drawable) && GDK_WINDOW_DESTROYED (drawable)))
-    return g_object_ref (_gdk_drawable_get_source_drawable (drawable));
-
-  /* See if any buffered part is overlapping the part we want
-   * to get
-   */
-  rect.x = x;
-  rect.y = y;
-  rect.width = width;
-  rect.height = height;
-
-  overlap_buffer = FALSE;
-
-  for (list = private->paint_stack; list != NULL; list = list->next)
-    {
-      GdkWindowPaint *paint = list->data;
-      cairo_region_overlap_t overlap;
-
-      overlap = cairo_region_contains_rectangle (paint->region, &rect);
-
-      if (overlap == CAIRO_REGION_OVERLAP_IN)
-       {
-         *composite_x_offset = paint->x_offset;
-         *composite_y_offset = paint->y_offset;
-
-         return g_object_ref (paint->pixmap);
-       }
-      else if (overlap == CAIRO_REGION_OVERLAP_PART)
-       {
-         overlap_buffer = TRUE;
-         break;
-       }
-    }
-
-  impl_window = gdk_window_get_impl_window (private);
-  implicit_paint = impl_window->implicit_paint;
-  if (implicit_paint)
-    {
-      cairo_region_overlap_t overlap;
-
-      rect.x += private->abs_x;
-      rect.y += private->abs_y;
-
-      overlap = cairo_region_contains_rectangle (implicit_paint->region, &rect);
-      if (overlap == CAIRO_REGION_OVERLAP_IN)
-       {
-         *composite_x_offset = -private->abs_x + implicit_paint->x_offset;
-         *composite_y_offset = -private->abs_y + implicit_paint->y_offset;
-
-         return g_object_ref (implicit_paint->pixmap);
-       }
-      else if (overlap == CAIRO_REGION_OVERLAP_PART)
-       overlap_buffer = TRUE;
-    }
-
-  if (!overlap_buffer)
-    return g_object_ref (_gdk_drawable_get_source_drawable (drawable));
-
-  tmp_pixmap = gdk_pixmap_new (drawable, width, height, -1);
-  cr = gdk_cairo_create (tmp_pixmap);
-
-  source = _gdk_drawable_get_source_drawable (drawable);
-
-  gdk_cairo_set_source_pixmap (cr, source,
-                               x - *composite_x_offset,
-                               y - *composite_y_offset);
-  cairo_paint (cr);
-
-  /* paint the backing stores */
-  if (implicit_paint)
-    {
-      GdkWindowPaint *paint = list->data;
-
-      cairo_save (cr);
-
-      gdk_cairo_set_source_pixmap (cr, paint->pixmap, 
-                                   x - paint->x_offset,
-                                   y - paint->y_offset);
-      cairo_translate (cr, -x  - paint->x_offset, -y  - paint->y_offset);
-      gdk_cairo_region (cr, paint->region);
-      cairo_fill (cr);
-
-      cairo_restore (cr);
-    }
-
-  for (list = private->paint_stack; list != NULL; list = list->next)
-    {
-      GdkWindowPaint *paint = list->data;
-
-      if (paint->uses_implicit)
-       continue; /* We already copied this above */
-
-      cairo_save (cr);
-
-      gdk_cairo_set_source_pixmap (cr, paint->pixmap, 
-                                   x - paint->x_offset,
-                                   y - paint->y_offset);
-      cairo_translate (cr, -x, -y);
-      gdk_cairo_region (cr, paint->region);
-      cairo_fill (cr);
-
-      cairo_restore (cr);
-    }
-
-  cairo_destroy (cr);
-
-  /* Set these to location of tmp_pixmap within the window */
-  *composite_x_offset = x;
-  *composite_y_offset = y;
-
-  return tmp_pixmap;
-}
-
 static cairo_region_t*
 gdk_window_get_clip_region (GdkDrawable *drawable)
 {